package com.jvm.interrupt;

import java.util.concurrent.TimeUnit;

// 通过线程自带的中断标志控制
public class Demo2 {

    public static class T extends Thread {
        @Override
        public void run() {
            while (true) {
                // 循环处理业务
                if (this.isInterrupted()) {
                    break;
                }
            }
        }
    }

    public static void main(String[] args) throws InterruptedException {
        T t = new T();
        t.start();
        TimeUnit.SECONDS.sleep(3);
        /**
         *
         * 当调用线程的 interrupt()实例方法之后，
         * 线程的中断标志会被置为 true，
         * 可以通过线程的实例方法 isInterrupted()获取线程的中断标志。
         *
         */
        t.interrupt();
    }

}
